//
//  MJTabBarController.swift
//  weibo
//
//  Created by mojue on 16/6/23.
//  Copyright © 2016年 NetLife. All rights reserved.
//

import UIKit

class MJTabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
       // 设置tabBar的tintColor
        UITabBar.appearance().tintColor = UIColor.orangeColor()
        
        // 添加子控制器
        addChildViewController()
        
        // tabBar 是一个只读属性
        // 只读属性只实现了属性的 get 方法
        // 只读属性怎么赋值???
        // KVC -- KVC是运行时的机制,即便是只读属性,甚至是 私有属性都可以通过KVC赋值
        
        let myTabBar = MJTabBar()
        // 注意: key一定要和 属性对应
        setValue(myTabBar, forKey: "tabBar")
        
        
        
    }
    
    
    
    
    // 添加子控制器的方法
    // 重载的概念
    // 选择的图片的名字,可以通过我们拼接文字名字来实现
    /// 添加子控制器,设置titile和图片
    func addChildViewController(childController: UIViewController, title: String, image: String) {
        
        childController.title = title
        
        childController.tabBarItem.image = UIImage(named: image)
        
        childController.tabBarItem.selectedImage = UIImage(named: "\(image)_highlighted")
        
//        addChildViewController(UINavigationController.init(rootViewController: childController))
        
        addChildViewController(UINavigationController(rootViewController: childController))
        
        
    
    }
    
    // 重载没有参数的方法
    func addChildViewController() {
        addChildViewController(MJHomeController(), title: "首页", image: "tabbar_profile")
        
        addChildViewController(MJMessageController(), title: "消息", image: "tabbar_message_center")
        
        addChildViewController(MJFindController(), title: "发现", image: "tabbar_discover")
        
        addChildViewController(MJSettingController(), title: "我", image: "tabbar_profile")
        
    }
    
}
